import axios from 'axios'
import qs from 'qs'
import { Message } from 'element-ui';

// if (res.code == 0) {
//   Message({
//     message: '删除策略组成功',
//     type: 'success'
//   })
//   dispatch('stratesList')
// } else {
//   Message({
//     message: res.msg,
//     type: 'success'
//   })
// }
// axios.defaults.timeout = 2000;
//axios.defaults.baseURL = '/vpnapi';

axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded;charset=UTF-8';

// POST传参序列化
axios.interceptors.request.use(
    (config) => {
        if (config.method === 'post') {
            config.data = qs.stringify(config.data, { indices: false });
        }
        return config;
    },
    (error) => {
        return Promise.reject(error);
    }
)

// 拦截返回 进行状态判断
axios.interceptors.response.use(
    (res) => {
        // console.log(JSON.parse(res.data));
        // 如果访问不成功 打印错误信息
        if (res.data.code == 99) {
            window.location.hash = "#/login";
            return Promise.reject(res);
        } else if (res.data.code != 100) {
            Message({
                message: res.data.msg,
                type: 'error'
            })
        } else {
            return Promise.resolve(res);
        }
    },
    (error) => {
        // 这里应该给一个弹窗 服务器访问失败
        return Promise.reject(error);
    }
)

// const fetch = (url, params) => {
//   return new Promise((resolve, reject) => {
//     axios.post(url, params)
//       .then(res => {
//         // 替换 all 字段 为全部
//         resolve(res.data)
//       })
//       .catch((error) => {
//         reject(error)
//       })
//   })
// }
//


// 输出ajax方法
export {
    fetch,
    axios
}











//